/**
 *
 */
package com.iknight.mgr.mapper;

import com.iknight.mgr.core.base.BaseMapper;
import com.iknight.mgr.model.MenuModel;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.io.Serializable;
import java.util.List;

/**
 * @param <T>
 * @param <PK>
 * @author Jeryzym
 */
@Repository
public interface MenuMapper<T extends Serializable, PK extends Serializable> extends BaseMapper<T, PK> {
    List<MenuModel> selectAll();

    void changeMenuPid(@Param("menu_id") String menu_id, @Param("p_menu_id") String p_menu_id);

    List<MenuModel> getTreeNode(@Param("p_menu_id") String p_menu_id);

    /**
     * 变更叶子节点标识
     * @param menu_id
     * @param isleaf
     */
    void updateLeafFlag(@Param("menu_id") String menu_id, @Param("isleaf") String isleaf);

    /**
     * 获取自增序列，显示顺序序列
     * @return
     */
    String getNextShowOrder();
}
